//
//  YCBaseTableViewController.swift
//  YCWeibo009
//
//  Created by user on 15/11/30.
//  Copyright © 2015年 user. All rights reserved.
//

import UIKit

class YCBaseTableViewController: UITableViewController {
    //用户登录标志
    var userlogin = false
    override func loadView() {
        //如果用户已经登入，就正常加载TableView，否则就创建访客视图
        userlogin ? super.loadView() : setupVistorVidew()
    }
    //创建访客视图
   private func setupVistorVidew(){
        //设置view
        view = vistorView
    
        //设置代理
        vistorView.delegate = self
            
        print("当前控制器:\(self)")
    //判断是什么类型的控制器，根据不同的控制器，设置不同的访客视图内容
        if self is YCHomeViewController{
            //转轮转起来
            vistorView.rotationAnimation()
            
            //监听应用进入和退出后台
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackground", name: UIApplicationDidEnterBackgroundNotification, object: nil)
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)
            
            
        }else if self is YCMessageViewController{
            //设置消息访客视图内容
            vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        }else if self is YCDiscoverViewController{
            //设置发现访客视图内容
            vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        }else if self is YCProfileViewController{
            //设置我访客视图内容
            vistorView.setupVistorView("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        }
    
        //设置导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewRegisterClick")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登入", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewLoginClick")
    }
    
    deinit{
        //移除通知
        if self is YCHomeViewController{
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
    }
    
    ///应用进入后台会调用
    func didEnterBackground(){
        //停止核心动画
        vistorView.pauseAnimation()
        
    }
    
    ///进入应用程序
    func didBecomeActive(){
       //开始核心动画
        vistorView.resumeAnimation()
        
    }
 
    // MARK: - 懒加载
    ///访客视图
    private lazy var vistorView:YCVistorView = YCVistorView()
}

    // MARK: - 扩展YCBaseTableViewController 实现YCVistorViewDelegate 协议
    // extension 和OC中的Category很相似，可以将协议的相关方法放到一起，方便统一管理
extension YCBaseTableViewController: YCVistorViewDelegate{
  
    // MARK: - 实现代理方法
    func vistorViewLoginClick() {
        //model另外一个控制器
        print("model另外一个控制器")
    }
    
    func vistorViewRegisterClick(){
        print("注册按钮")
    }
    
}